Aufgabe: -------- wir füllen ein Array mit 100 Stellen mit Zufallswerten im Bereich -50 bis +50 (bzw. +49.999...) Betrag: ------- In einem Array mit negativen und positiven Werten (siehe vorherige Übung) ändern wir alle negativen Werte in positive. D.h: 23 bleibt 23 -42 wird 42 usw. Cut-Off: -------- Wir haben im Array Werte von 0 bis 50 (wie im Ergebnis der vorherigen Übung). Wir wollen alle Werte über und gleich 40 behalten, alle Werte darunter werden zu 0. D.h. 40 bleibt 40 42 bleibt 42 39 wird 0 20 wird 0 usw. Wertebereich Invertieren: ------------------------- Wir haben im Array Werte von 0 bis 50 (eigentlich 0 bis 49). Wir wollen den Wertebereich invertieren, kleine Werte sollen groß, große Werte sollen klein werden. D.h. 0 wird 49 1 wird 48 49 wird 0 usw. Praktische Anwendung wäre: Fotonegativ erzeugen Wertebereich "aufblasen" (mappen): ---------------------------------- Wir haben im Array Werte von 0 bis 50. Durch die Bearbeitung soll daraus ein Wertebereich von 0 bis 200 werden. D.h. 0 bleibt 0 50 wird 200 alles dazwischen wird entsprechend eingeordnet. Praktische Anwendung wäre: Audiosignal lauter machen Blasses Bild kräftiger darstellen Das Wort Mapping bedeutet: einen Wertebereich auf einen anderen Wertebereich abbilden. Cut-off und "Mapping" (schwierig) ------------------------------------- Wir haben im Array (100 Stellen) Werte von 0 bis 50. Alle Werte unter 10 sollen verworfen werden Alle Werte von 10 bis 50 sollen auf den ursprünglichen Wertebereich 0 bis 50 abgebildet werden d.h. 0 bleibt 0 4 wird 0 9 wird 0 10 wird 0 50 bleibt 50 14 wird 5 18 wird 10 (Wertebereich 10 bis 50 wird also auf 0 bis 50 vergrößert) Mapping (einfach): ------------------ Wir haben im Array (100 Stellen) Werte von 0 bis 50. Wie immer ;-) Der Wertebereich soll abgebildet werden auf den Bereich 0 bis 10. Praktische Anwendung: Audio leiser machen Bild dunkler machen Lösung war: Die Formel ist (a[n] / 5) oder (a[n] * 0.2) Mapping (einfach): ------------------ Wir haben im Array (100 Stellen) Werte von 0 bis 50. Wie immer ;-) Der Wertebereich soll abgebildet werden auf den Bereich 25 bis 75. Mapping (weniger einfach): -------------------------- Wir haben im Array (100 Stellen) Werte von 0 bis 50. Wie immer ;-) Der Wertebereich soll abgebildet werden auf den Bereich 50 bis 150. Tipp: der Zahlenbereich wird wieder aufgefächert / vergrößert / verstärkt und außerdem verschoben Lösungsformel: a[n] = a[n] * 2 + 50 Achtung: + 50 * 2 wäre falsch, Präzedenz und so ;-) Mapping (einfach, level 2): --------------------------- Wir haben im Array (100 Stellen) Werte von 0 bis 50. Wie immer ;-) Der Wertebereich soll abgebildet werden auf den Bereich 0 bis -100. 0 bleibt 0 13 wird -26 25 wird -50 50 wird -100 usw. Tipp: wer nicht drauf kommt, kann mal Copilot / ChatGPT / whatever fragen Mapping (einfach, level 3): --------------------------- Wir haben im Array (100 Stellen) Werte von 0 bis 50. Wie immer ;-) Zielbereich ist 25 bis -75 d.h. 0 wird 25 50 wird -75 25 wird -25 13 wird -1 40 wird -55 Tipp: Einfach, weil gleiches Schema wie bisher. Nur schwerer zu erkennen.